bitkeeper revision 1.1159.212.7 (41dda285BvmhILeGv4rnjJ6N_psxaA)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Thu, 6 Jan 2005 20:41:41 +0000 (20:41 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Thu, 6 Jan 2005 20:41:41 +0000 (20:41 +0000)
Patch from Leendert van Doorn leendert@watson.ibm.com to fix bug that was effecting mapping of IO pages when Xen was built with certain versions of gcc.

xen/arch/x86/memory.c

index e66378be19cddaec3b62997693ca7917c3f328c9..f1982eb6c09b0d64cf99b121ca64aa5772f0220e 100644 (file)
@@ -467,11 +467,12 @@ static void put_page_from_l1e(l1_pgentry_t l1e, struct domain *d)
     unsigned long    l1v  = l1_pgentry_val(l1e);
     unsigned long    pfn  = l1_pgentry_to_pagenr(l1e);
     struct pfn_info *page = &frame_table[pfn];
-    struct domain   *e = page->u.inuse.domain;
+    struct domain   *e;
 
     if ( !(l1v & _PAGE_PRESENT) || !pfn_is_ram(pfn) )
         return;
 
+    e = page->u.inuse.domain;
     if ( unlikely(e != d) )
     {
         /*